package vip.xiaonuo.invoice.core.adapter.dto.result;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

/**
 * 数族发票查询结果DTO
 *
 * @author AI Assistant
 */
@Getter
@Setter
public class RedInvoiceResultDtoOfShuZu extends RedInvoiceResultDto {

    @Schema(description = "发票内容")
    private content content;

    @Getter
    @Setter
    public static class content {
        @Schema(description = "备注")
        private String bz; // 备注

        @Schema(description = "二维码(必填)")
        private String ewm; // 二维码(必填)

        @Schema(description = "登录账号")
        private String dlzh; // 登录账号

        @Schema(description = "发票号码(必填)")
        private String fphm; // 发票号码(必填)

        @Schema(description = "纸质发票代码")
        private String zzfpdm; // 纸质发票代码

        @Schema(description = "纸质发票号码")
        private String zzfphm; // 纸质发票号码

        @Schema(description = "购方税号")
        private String gfsh; // 购方税号

        @Schema(description = "购方名称(必填)")
        private String gfmc; // 购方名称(必填)

        @Schema(description = "销方税号(必填)")
        private String xfsh; // 销方税号(必填)

        @Schema(description = "销方名称(必填)")
        private String xfmc; // 销方名称(必填)

        @Schema(description = "发票类型代码(必填)")
        private String fplxdm; // 发票类型代码(必填)

        @Schema(description = "pdf链接(必填)")
        private String pdfUrl; // pdf链接(必填)

        @Schema(description = "ofd链接(必填)")
        private String ofdUrl; // ofd链接(必填)

        @Schema(description = "xml链接(必填)")
        private String xmlUrl; // xml链接(必填)

        @Schema(description = "开票日期，yyyy-mm-dd HH:MM:SS/yyyyMMddHHmmss(必填)")
        private String kprq; // 开票日期，yyyy-mm-dd HH:MM:SS/yyyyMMddHHmmss(必填)

        @Schema(description = "发票日期，yyyy-mm-dd(必填)")
        private String fprq; // 发票日期，yyyy-mm-dd(必填)

        @Schema(description = "开票人(必填)")
        private String kpr; // 开票人(必填)

        @Schema(description = "复核人")
        private String fhr; // 复核人

        @Schema(description = "合计金额(必填)")
        private String hjje; // 合计金额(必填)

        @Schema(description = "合计税额(必填)")
        private String hjse; // 合计税额(必填)

        @Schema(description = "价税合计(必填)")
        private String jshj; // 价税合计(必填)

        @Schema(description = "发票状态(必填)")
        private String fpzt; // 发票状态(必填)

        @Schema(description = "商品明细列表")
        private String mxList; // 商品明细列表

    }
}
